
#pragma once

class TcpPortTestPassiveConnectionActorMgr;

class TcpPortTestAcceptActorMgr : public AssignedSingleWorkerActorMgr
{
public:
    TcpPortTestAcceptActorMgr(boost::shared_ptr<WorkerBase> _pWorker, boost::shared_ptr<TcpPortTestPassiveConnectionActorMgr> _pTcpPortTestPassiveConnectionActorMgr_);
    virtual ~TcpPortTestAcceptActorMgr();

    virtual retT  makeActor(boost::shared_ptr<ActorBase>& _pActor);

    boost::shared_ptr<TcpPortTestPassiveConnectionActorMgr> getTcpPortTestPassiveConnectionActorMgr();
	virtual retT start();

protected:
    boost::weak_ptr<TcpPortTestPassiveConnectionActorMgr> pTcpPortTestPassiveConnectionActorMgr__;
};

class TcpPortTestAcceptActor : public ActorBase
{
public:
    TcpPortTestAcceptActor();
    virtual ~TcpPortTestAcceptActor();

    virtual retT init();
	virtual retT onError(retT errorNo);
	virtual retT start();

protected:
	boost::shared_ptr<ProAcceptHandler> pProAcceptHandler_;
};
